/* 按钮基础样式 */
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: var(--border-radius-md);
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all var(--transition-fast);
  outline: none;
  text-decoration: none;
  user-select: none;
  white-space: nowrap;
}

.button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* 按钮尺寸 */
.button.small {
  padding: 6px 12px;
  font-size: 12px;
  min-height: 28px;
}

.button.medium {
  padding: 8px 16px;
  font-size: 14px;
  min-height: 36px;
}

.button.large {
  padding: 12px 20px;
  font-size: 16px;
  min-height: 44px;
}

/* 按钮变体 */
.button.primary {
  background: var(--color-primary);
  color: white;
  border-color: var(--color-primary);
}

.button.primary:hover:not(:disabled) {
  background: var(--color-primary-hover);
  border-color: var(--color-primary-hover);
}

.button.primary:active:not(:disabled) {
  background: var(--color-primary-active);
  border-color: var(--color-primary-active);
}

.button.secondary {
  background: transparent;
  color: var(--color-text-secondary);
  border-color: var(--color-border-primary);
}

.button.secondary:hover:not(:disabled) {
  background: var(--color-bg-hover);
  color: var(--color-text-primary);
  border-color: var(--color-border-hover);
}

.button.secondary:active:not(:disabled) {
  background: var(--color-bg-active);
  border-color: var(--color-border-primary);
}

.button.danger {
  background: var(--color-error);
  color: white;
  border-color: var(--color-error);
}

.button.danger:hover:not(:disabled) {
  background: var(--color-error-hover);
  border-color: var(--color-error-hover);
}

.button.danger:active:not(:disabled) {
  background: var(--color-error-active);
  border-color: var(--color-error-active);
}

/* 移动端适配 */
@media (max-width: 768px) {
  .button.medium {
    padding: 10px 16px;
    min-height: 40px;
  }
  
  .button.large {
    padding: 12px 20px;
    min-height: 44px;
  }
}

@media (max-width: 480px) {
  .button {
    width: 100%;
  }
}
